namespace ProduceBasicData.Api.DTO
{
    /// <summary>
    /// 仪表板数据DTO类
    /// </summary>
    public class DashboardDto
    {
        /// <summary>
        /// 本月入库数量
        /// </summary>
        public int? MonthlyInboundQuantity { get; set; }

        /// <summary>
        /// 本月出库数量
        /// </summary>
        public int? MonthlyOutboundQuantity { get; set; }

        /// <summary>
        /// 累计入库数量
        /// </summary>
        public int? TotalInboundQuantity { get; set; }

        /// <summary>
        /// 累计出库数量
        /// </summary>
        public int TotalOutboundQuantity { get; set; }

        /// <summary>
        /// 图表数据 - 入库趋势
        /// </summary>
        public List<ChartDataPoint> InboundTrend { get; set; } = new List<ChartDataPoint>();

        /// <summary>
        /// 图表数据 - 出库趋势
        /// </summary>
        public List<ChartDataPoint> OutboundTrend { get; set; } = new List<ChartDataPoint>();

        /// <summary>
        /// 图表数据 - 库存状态
        /// </summary>
        public List<ChartDataPoint> InventoryStatus { get; set; } = new List<ChartDataPoint>();
    }

    /// <summary>
    /// 图表数据点
    /// </summary>
    public class ChartDataPoint
    {
        /// <summary>
        /// 名称/标签
        /// </summary>
        public string? Name { get; set; } = string.Empty;

        /// <summary>
        /// 数值
        /// </summary>
        public decimal? Value { get; set; }

        /// <summary>
        /// 日期（用于趋势图）
        /// </summary>
        public DateTime? Date { get; set; }
    }
}
